package com.stronger.leetcode.simple;

/**
 * @author Created by njy on 2023/6/15
 * 14.最长公共前缀
 */
public class CommonPrefix14 {

    /**
     * 编写一个函数来查找字符串数组中的最长公共前缀。
     * 如果不存在公共前缀，返回空字符串""。
     * 示例 1：
     * 输入：strs = ["flower","flow","flight"]
     * 输出："fl"
     * 示例 2：
     * 输入：strs = ["dog","racecar","car"]
     * 输出：""
     * 解释：输入不存在公共前缀。
     * 提示：
     * 1 <= strs.length <= 200
     * 0 <= strs[i].length <= 200
     * strs[i] 仅由小写英文字母组成
     */
    public static void main(String[] args) {
        String[] strs=new String[]{"aaa","aa","aaa"};
        String s = longestCommonPrefix(strs);
        System.out.println("s = " + s);
    }

    public static String longestCommonPrefix(String[] strs) {
        //1.取第一个字符串,初始化前缀ans
        if(strs.length==0 ){
            return "";
        }
        String ans=strs[0];
        //循环
        for (int i = 1; i < strs.length; i++) {
            //从第二个字符开始,依次比较
            int j = 0;
            //字符串对比
            for (; j < ans.length() && j < strs[i].length(); j++) {
                if (ans.charAt(j) != strs[i].charAt(j)) {
                    break;
                }
            }
            ans = ans.substring(0, j);
            if (ans.equals("")) {
                return ans;
            }
        }
        return ans;
    }
}
